package com.example.demo.dao;

import com.example.demo.entity.Users;
import com.example.demo.vo.UsersVO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper  //MyBits注解，用于标识一个接口为MyBits的Mapper接口，以便实现接口
@Repository //用于Dao层（实现类），标注数据访问组件
public interface UsersDao {

    //用户注册（添加用户）
    int register(@Param("users") Users users);  //用户信息注册

    //查看所有用户的部分信息（仅管理员可以查看）
    List<UsersVO> findAll(); //管理员查寻所有注册用户的信息

    //根据姓名查看用户信息
    Users findByName(@Param("name") String name);

    //删除指定ID的用户信息
    @Delete("delete from users where id = #{id}")
    int deleteById(int id);

    //删除指定姓名的用户信息
    int deleteByName(@Param("name") String name);

    //更新用户信息
    int update(@Param("users") Users users);

    //在用户表中查找用户名和对应的密码
    Users findUsers(@Param("username") String username,@Param("pwd") String pwd);
}
